home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / CDrelnotes < prev    next >
Text File  |  1998-11-02  |  3KB  |  142 lines

  1. #! /bin/sh
  2. #Tag 0x00000600
  3. PATH=$PATH:/usr/bin
  4.  
  5. # 'CDrelnotes' - View on-line release notes
  6.  
  7. SRCDIR=`dirname $0`/usr/relnotes/
  8.  
  9. Usage="\n
  10.     'CDrelnotes -h' -- print this message\n
  11.     'CDrelnotes' -- list products that have on-line release notes \n
  12. \t\t\tcurrently installed\n
  13.     'CDrelnotes <product>' -- show table of contents for a product's \n
  14. \t\t\ton-line release notes\n
  15.     'CDrelnotes <product> <chapter> ... ' -- display specific chapters of \n
  16. \t\t\t\ta product's on-line release notes\n
  17.     'CDrelnotes -t <product> <chapter> ... ' -- print specific chapters of \n
  18. \t\t\t\ta product's on-line release notes\n"
  19.  
  20. if [ "$1" = "-h" ] # give help and exit
  21. then
  22.     echo $Usage
  23.     exit
  24. fi
  25.  
  26. list_relnotes=/tmp/relnoteslist$$
  27. product=/tmp/relnotesproduct$$
  28. cleanup="rm -f $list_relnotes $product"
  29. trap "$cleanup" 1 2 3 15
  30.  
  31. # Create a list of products which have release notes installed.
  32. HERE=`pwd`
  33. cd $SRCDIR
  34. find . -follow -type f -name "ch*.z" -print |  \
  35.     sed -e 's%./%%' -e 's%/ch.*\.z%%' | sort -u > $list_relnotes
  36. cd $HERE
  37. if [ ! -s $list_relnotes ]
  38. then
  39.     echo "Sorry, but no products have release notes installed\n"
  40.     rm -f $list_relnotes
  41.     exit
  42. fi
  43.  
  44. if [ $# -eq 0 ]    # no args - show installed relnotes
  45. then
  46.     echo "The following products have release notes installed:\n"
  47.     cat $list_relnotes
  48.     $cleanup
  49.     exit
  50. fi
  51.  
  52. validproduct=no
  53. tflag=
  54. while [ $# -gt 0 ] # As long as we have arguments ....
  55. do
  56.     # Recognize old-style args, but don't support them.
  57.     if [ "$1" = "-p" ]
  58.     then
  59.       echo "The -p and -c options are no longer needed."
  60.       echo $Usage
  61.       $cleanup 
  62.       exit 1
  63.     fi
  64.  
  65.     # Support for printing chapters.
  66.     if [ "$1" = "-t" ]
  67.     then
  68.       tflag=$1
  69.       shift 
  70.       continue
  71.     fi
  72.     
  73.     # Invalid option?
  74.     if [ "$1" = "--" ]
  75.     then
  76.       echo "$1 is an invalid option."
  77.       echo $Usage
  78.       $cleanup
  79.       exit 1
  80.     fi
  81.     
  82.     # Invalid option?
  83.     if [ `expr "$1" : '\(.\).*'` = "-" ]
  84.     then
  85.       echo "$1 is an invalid option."
  86.       echo $Usage
  87.       $cleanup
  88.       exit 1
  89.     fi
  90.  
  91.     if [ "$validproduct" = "no" ]
  92.     then
  93.       echo $1 > $product
  94.       match=`comm -12 $list_relnotes $product  | wc -l`
  95.       if [ $match -eq 1 ];
  96.       then
  97.          validproduct=$1    
  98.          shift
  99.          if [ $# -gt 0 ];
  100.          then
  101.             continue
  102.          fi
  103.          if [ -f $SRCDIR$validproduct/TC ];
  104.          then
  105.             echo "The chapters for the \"$validproduct\" product's release notes are:\n"
  106.             cat $SRCDIR$validproduct/TC 
  107.          else
  108.             echo "The \"$validproduct\" product's release notes are installed, "
  109.             echo "but its table of contents file is missing.\n"
  110.             echo "The chapters that are installed are:\n"
  111.             cd $SRCDIR${validproduct}; /bin/ls ch*.z | sed -e 's/ch//' -e 's/.z//'
  112.          fi
  113.       else  # Not an installed product
  114.          echo "Sorry, but there are no installed release notes for the \"$1\" product.\n"
  115.          $cleanup ; exit 1
  116.       fi
  117.     else # Have a valid product.
  118.       cd $SRCDIR$validproduct
  119.           # Check for the existence of ch#.z. If not found check
  120.           # for ch0#.z. If still not found report an error
  121.           if [ -r ch${1}.z ]; then
  122.                 man $tflag -d ch${1}.z
  123.           elif [ -r ch0${1}.z ]; then
  124.                 man $tflag -d ch0${1}.z
  125.           else
  126.                 echo "There is no chapter $1 in the \"$validproduct\" release notes."
  127.           fi
  128.       shift
  129.       if [ $# -gt 0 ];
  130.       then
  131.         echo "Next chapter ('q' to quit):\c"
  132.         read ans
  133.         if [ "$ans" = "q" ];
  134.         then
  135.             $cleanup
  136.             exit
  137.         fi
  138.       fi
  139.     fi
  140. done
  141. $cleanup
  142.